πŸ•ΈοΈ Ada Research Browser

README.md
← Back

Willie (MailCow) Security Assessment - Executive Summary

Assessment Date: 2026-03-09 Target System: willie (email.northwoodsmail.com / mailcow.tailce791f.ts.net) Assessment Type: AWS-Compliant Security Scan with CVE Focus Current Security Rating: 8/10 (GOOD) Target Security Rating: 9.5/10 (EXCELLENT)


Quick Reference

Document Purpose Status
willie-cve-scan-2026-03-09.md Detailed CVE and compliance findings βœ… Complete
MITIGATION_PLAN.md 90-day remediation roadmap πŸ”΄ In Progress
README.md This executive summary βœ… Current

Security Posture Summary

βœ… Strengths

  1. Patch Management: EXCELLENT
  2. Zero pending Ubuntu security updates
  3. Unattended-upgrades configured (3 AM UTC auto-reboot)
  4. Modern kernel: 6.14.0-1016-aws
  5. Modern Docker: 27.5.1

  6. Infrastructure: STRONG

  7. Ubuntu 24.04.4 LTS (long-term support)
  8. AWS Backup configured (5 AM daily, 35-day retention)
  9. 17 MailCow containers running healthy
  10. Disk space: 50% (24GB/49GB) - healthy headroom

  11. Email Security: GOOD

  12. ClamAV active (malware scanning)
  13. Rspamd active (spam filtering)
  14. Let's Encrypt TLS certificates
  15. Standard email ports properly configured

πŸ”΄ Critical Findings (Fix Within 7 Days)

  1. ofelia Container Using :latest Tag
  2. Risk: Unpredictable updates, breaking changes
  3. Impact: HIGH - Cron jobs may fail
  4. Fix: Pin to specific version (e.g., v0.3.8)
  5. Timeline: 7 days

  6. Container CVE Scanning Not Performed

  7. Risk: Unknown vulnerabilities in 15 container images
  8. Impact: CRITICAL - Could have unpatched CVEs
  9. Fix: Install Trivy, scan all ghcr.io/mailcow/* images
  10. Timeline: 7 days

🟠 High Priority Findings (Fix Within 30 Days)

  1. IMDSv2 Not Verified
  2. Risk: SSRF vulnerability if IMDSv1 enabled
  3. Impact: HIGH - EC2 metadata exposure
  4. Fix: Enforce IMDSv2-only on EC2 instance
  5. Timeline: 14 days

  6. EBS Encryption Status Unknown

  7. Risk: Data at rest not encrypted
  8. Impact: HIGH - Compliance requirement
  9. Fix: Verify encryption, migrate if needed
  10. Timeline: 21 days (requires maintenance window)

  11. Security Groups Not Hardened

  12. Risk: SSH may be open to 0.0.0.0/0
  13. Impact: MEDIUM - Brute force risk
  14. Fix: Restrict SSH to Tailscale CGNAT (100.64.0.0/10)
  15. Timeline: 21 days

Mitigation Plan Overview

Total Items: 11 remediation tasks Timeline: 90 days Estimated Effort: 26 hours Budget Impact: ~$2.50/month (snapshot storage)

Phase 1: Critical (Days 1-7)

Phase 2: High Priority (Days 8-30)

Phase 3: Medium Priority (Days 31-60)

Phase 4: Low Priority (Days 61-90)


Key Metrics and KPIs

Current State: - βœ… CVE Remediation: 100% (Ubuntu packages) - ⚠️ Container CVEs: Unknown (scanning needed) - βœ… Backup Coverage: 100% (AWS Backup active) - ⚠️ CIS Benchmark: Not assessed (Lynis needed) - ⚠️ File Integrity: Not monitored (AIDE needed)

Target State (90 days): - βœ… CVE Remediation: 100% critical, 95% high - βœ… Container CVEs: 100% scanned, <5 high CVEs - βœ… Backup Coverage: 100% - βœ… CIS Benchmark: Hardening index >85 - βœ… File Integrity: Active monitoring


Container Inventory

Container Image Version CVE Status
nginx-mailcow ghcr.io/mailcow/nginx 1.03 ⚠️ Needs scan
dovecot-mailcow ghcr.io/mailcow/dovecot 2.34 ⚠️ Needs scan
postfix-mailcow ghcr.io/mailcow/postfix 1.80 ⚠️ Needs scan
rspamd-mailcow ghcr.io/mailcow/rspamd 2.2 ⚠️ Needs scan
clamd-mailcow ghcr.io/mailcow/clamd 1.70 ⚠️ Needs scan
sogo-mailcow ghcr.io/mailcow/sogo 1.133 ⚠️ Needs scan
php-fpm-mailcow ghcr.io/mailcow/phpfpm 1.93 ⚠️ Needs scan
watchdog-mailcow ghcr.io/mailcow/watchdog 2.08 ⚠️ Needs scan
acme-mailcow ghcr.io/mailcow/acme 1.93 ⚠️ Needs scan
netfilter-mailcow ghcr.io/mailcow/netfilter 1.61 ⚠️ Needs scan
dockerapi-mailcow ghcr.io/mailcow/dockerapi 2.11 ⚠️ Needs scan
olefy-mailcow ghcr.io/mailcow/olefy 1.15 ⚠️ Needs scan
unbound-mailcow ghcr.io/mailcow/unbound 1.24 ⚠️ Needs scan
ofelia-mailcow mcuadros/ofelia latest πŸ”΄ LATEST TAG
redis-mailcow redis 7.4.2-alpine βœ… Official
mysql-mailcow mariadb 10.11 βœ… LTS
memcached-mailcow memcached alpine βœ… Official

Total: 17 containers - πŸ”΄ 1 critical issue (latest tag) - ⚠️ 13 need CVE scanning - βœ… 3 are official images (verified)


Next Actions (Priority Order)

THIS WEEK (Critical)

  1. Pin ofelia container version bash ssh -i ~/.ssh/bq_laptop_rsa ubuntu@mailcow.tailce791f.ts.net cd /opt/mailcow-dockerized # Edit docker-compose.yml, change ofelia:latest to ofelia:v0.3.8 docker compose pull docker compose up -d

  2. Install Trivy and scan containers ```bash # Install Trivy sudo apt-get install trivy

# Scan all MailCow images trivy image --severity HIGH,CRITICAL ghcr.io/mailcow/nginx:1.03 # Repeat for all 13 ghcr.io/mailcow/* images ```

NEXT 2 WEEKS (High Priority)

  1. Verify IMDSv2 enforcement ```bash # Check current status aws ec2 describe-instances --filters "Name=tag:Name,Values=willie" \ --query 'Reservations[].Instances[].MetadataOptions'

# Enforce if needed aws ec2 modify-instance-metadata-options --instance-id --http-tokens required ```

  1. Verify EBS encryption ```bash # Check encryption status aws ec2 describe-volumes --query 'Volumes[].{VolumeId:VolumeId,Encrypted:Encrypted}'

# Migrate if needed (requires maintenance window) ```


Compliance Framework Alignment

AWS Foundational Security Best Practices: - βœ… EC2.8: EC2 instances should use IMDSv2 (pending verification) - ⚠️ EC2.7: EBS volumes should be encrypted (pending verification) - βœ… EC2.9: EC2 instances should not have public IPv4 (uses Elastic IP for email) - βœ… EC2.28: EBS volumes should be covered by backup plan (AWS Backup active)

CIS Benchmark Ubuntu 24.04: - βœ… 1.9: Ensure updates are installed (unattended-upgrades active) - ⚠️ 4.1: File integrity monitoring (AIDE to be installed) - ⚠️ 5.2: SSH hardening (to be audited with Lynis)


Risk Assessment Matrix

Risk Likelihood Impact Overall Mitigation
Container CVEs HIGH HIGH πŸ”΄ CRITICAL MIT-002 (Trivy scan)
ofelia :latest tag MEDIUM HIGH πŸ”΄ CRITICAL MIT-001 (Pin version)
EBS not encrypted LOW HIGH 🟠 HIGH MIT-004 (Verify/migrate)
IMDSv1 enabled LOW HIGH 🟠 HIGH MIT-003 (Enforce IMDSv2)
SSH brute force MEDIUM MEDIUM 🟑 MEDIUM MIT-005 (Harden SG)
Config drift LOW MEDIUM 🟑 MEDIUM MIT-007 (AIDE)

Automated Scanning Schedule

Weekly (Sundays 4 AM): - Trivy container vulnerability scan - Email results to admin@quigs.com

Daily (via unattended-upgrades): - Ubuntu security updates check - Auto-install security patches - Auto-reboot at 3 AM if kernel updated

Daily (via AWS Backup): - EBS snapshot at 5 AM UTC - 35-day retention - Automatic snapshot cleanup

Daily (when AIDE installed): - File integrity check - Email alerts on changes


Tools and Technologies

Installed: - βœ… Docker 27.5.1 - βœ… unattended-upgrades - βœ… AWS Backup

To Install (Week 1): - ⏳ Trivy (container CVE scanner)

To Install (Month 1-2): - ⏳ Lynis (CIS benchmark auditor) - ⏳ AIDE (file integrity monitoring)


Support and Escalation

Primary Contact: Systems Administrator (admin@quigs.com) Security Team: security@quigs.com AWS Support: AWS Console β†’ Support

Emergency Procedures: - Security incident: See MITIGATION_PLAN.md Appendix B - Rollback procedures: Documented in MITIGATION_PLAN.md - AWS Backup restore: See MAILCOW_BACKUP_SUMMARY.md


Revision History

Version Date Changes Author
1.0 2026-03-09 Initial assessment Cyber-Guardian

References

Next Assessment Due: 2026-04-09 (30 days)


Assessment Status: βœ… COMPLETE Mitigation Status: πŸ”΄ IN PROGRESS Overall Security Posture: 8/10 (GOOD, improving to EXCELLENT)